package model.shipeiqi.demo1;

/**
 * 为简单起见我们为Client类添加一个clientOperation()方法，
 * 该方法需要传入一个Target接口对象，在该Target接口对象中我们要复用现有的Adaptee类的方法。
 *
 * /**
 *  * 适配器模式
 *  * 分为
 *  * 1.类的适配器模式(采用继承实现)、
 *  * 2.对象的适配器模式(采用对象组合方式实现)和
 *  * 3.接口的适配器模式
 *  * 三种。
 */
public class Client {

    public static void main(String[] args) {
        //类的适配器模式(采用继承实现)
        Adapter adapter = new Adapter();
        clientOperation(adapter);

        //对象的适配器模式(采用对象组合方式实现)
        Adapter2 adapter2 = new Adapter2(new Adaptee());
        clientOperation(adapter2);
    }

    public static void clientOperation(Target target) {
        target.specificOperation();
        target.otherOperation();
    }


}